package com.desksoft.ecommerce.util.mail.template;

import java.io.File;
import java.io.IOException;

import freemarker.cache.FileTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;

/***************************************
 * 版权所有：杭州迪科软件 保留所有权利 
 * 创建日期: 
 * 创建作者：luoy 
 * 文件名称：模版文件路径类
 * 版本： 
 * 功能： 	该类无实际意义，仅仅是为了取得路径和在Eclipse下让com.desksoft.ecommerce.util.mail.template包显示出来
 * 最后修改时间：
 * 修改记录：
 *****************************************/
public class TemplateBag {

	private static TemplateBag instance = null;
	private Configuration ftlCfg;
	
	private TemplateBag(){}
	
	/**
	 * 获取TemplateBag对象
	 * @return
	 * @throws IOException 
	 */
	public static TemplateBag getInstance() throws IOException{
		if (instance == null){
			instance = new TemplateBag();
			instance.initConfiguration();
		}
		return instance;
	}
	
	/**
	 * 初始化Freemarker的Configuration对象
	 * @throws IOException
	 */
	protected void initConfiguration() throws IOException{
		
		String path = this.getClass().getResource("/").getPath();
		ftlCfg = new Configuration();
		FileTemplateLoader ftlLoader = new FileTemplateLoader(new File(path));
		ftlCfg.setTemplateLoader(ftlLoader);
	}
	
	/**
	 * 以TemplateBag.class所在路径为相对路径获取freemarker模版
	 * @param	path	以TemplateBag.class所在路径为相对路径
	 * @throws IOException 
	 */
	public Template getTemplate(String path) throws IOException{
		return ftlCfg.getTemplate(path);
	}
	
}
